4.1 Jest

总的来说,jest 的测试理念解决了非常多的前端测试的棘手问题,我做过一个关于 jest 的 session, 文章在 这里。 文章可能写得有点早,非常知道高兴的是终于支持最新的 nodejs 了,而且 重要的是 facebook 使用 jest 测试 react,有一些非常方便的 mock component 的方法。

recap 一下主要是

  • automock/ manual mock
  • jsdom
  • 并行测试

4.2 jasmine

jasmine 只是一个引擎,jest 也是用 jasmine 作为引擎。但是如果由于某种原因你不想用 jest 的话,可能你需要花更多的 effort 在:

  • mock (rewire.js)
  • runner (karma)
  • headless browser for ci(phantomjs)

所以并不推荐花这么大 effort 去撘一个 jasmine 的测试环境,关键还会有一系列的问题

  • phantomjs 怪怪的 issue
  • karma 复杂的配置
  • rewire 也有一些坑

4.3 mocha

没试过用来测 React,不过 mocha 比 jasmine 好的一点是本身就可以跑在 node 上,使用 sinon(mock) 和 should.js(assert) 是个非常强大的一套测试工具。